* Does Foreign Aid Undermine Political Responsiveness? Evidence from Kenya
* Dongil Lee
* KDI School
* Original: 8/27/2021
* Last update: 3/2/2025

* Setup

clear all
set maxvar 5000

* Section 1. I/O

* Set the current working directory
cd "/Users/dlee/Dropbox/Research/Aid-MP-effort/data"

use Kenya_CDF_aid_wb_mp, clear

* Change the current working directory to table folder
cd "/Users/dlee/Dropbox/Research/Aid-MP-effort/output"

* Set graph style for data visualization
set scheme burd5

* Section 2. Create new variables

gen regime1=(year<=2007)
gen regime2=(year>2007)

gen pop_pvrty_log = log(pvrty_rate * pop+1)

gen wb_dsbrsmnt_log = log(wb_dsbrsmnt+1)
gen wb_dsbrsmnt2_log = log(wb_dsbrsmnt2+1)
gen wb_dsbrsmnt3_log = log(wb_dsbrsmnt3+1)

la var wb_dsbrsmnt_log "Aid"
la var wb_dsbrsmnt2_log "Aid"
la var wb_dsbrsmnt3_log "Aid"

la var wb_dsbrsmnt_pc_log "Aid pc"
la var wb_dsbrsmnt2_pc_log "Aid pc"
la var wb_dsbrsmnt3_pc_log "Aid pc"

gen cdf_n_proj_log = log(cdf_n_proj+1)

gen cdf_n_proj_educ_log = log(cdf_n_proj_educ+1)
gen cdf_n_proj_heal_log = log(cdf_n_proj_heal+1)
gen cdf_n_proj_wate_log = log(cdf_n_proj_wate+1)
gen cdf_n_proj_tran_log = log(cdf_n_proj_tran+1)
gen cdf_n_proj_cons_log = log(cdf_n_proj_cons+1)
gen cdf_n_proj_ener_log = log(cdf_n_proj_ener+1)
gen cdf_n_proj_agri_log = log(cdf_n_proj_agri+1)
gen cdf_n_proj_admi_log = log(cdf_n_proj_admi+1)
gen cdf_n_proj_poli_log = log(cdf_n_proj_poli+1)

* Section 3. Label variables

la var elf "Ethnic Heterogeneity (ELF)"
la var pop_log "Log Population"
la var pvrty_rate "Poverty Rate"
la var land_area_log "Log Land Area"
la var infnt_mrtlty_rate "Infant Mortality Rate"
la var vctry_mrgn "Victory Margin"
la var coethnc_const "Coethnic Constituency" /* Majority of voters share the same ethnicity as President */
la var vote_share1 "Vote Share of Winner"
la var vote_share2 "Vote Share of Runner-up"
la var algnmnt1 "Incumbent Party Won"
la var cdf_pct_spnt "Percent of CDF Spent"
la var cdf_sum_d_log "Total CDF Disbursement (Log)"
la var wb_cmmtmnt_pc_log "Aid (Commitment)"
la var wb_dsbrsmnt_pc_log "Aid (Disbursement)"
la var competitive "Competitiveness (Linear)"
la var pop_den_log "Log Population Density"
la var pop_den "Population Density"

/* p, yd, and yd2: the main outcome variable */
global p cdf_pct_spnt 
la var $p "Percent CDF Spent"
global yd cdf_med_drtn  /* Median duration of CDF projects */
global yd2 cdf_mean_drtn /* Mean duration of CDF projects */

/* d: the main treatmnet variable */
global d wb_dsbrsmnt_pc_log /* per capita; weighted by population */
global d2 wb_dsbrsmnt2_pc_log /* per capita; weighted by land area */
global d3 wb_dsbrsmnt3_pc_log /* per capita; weighted by weighted by population x poverty rate */

global ds wb_dsbrsmnt_log /* sum; weighted by population */
global ds2 wb_dsbrsmnt2_log /* sum; weighted by land area */
global ds3 wb_dsbrsmnt3_log /* sum; weighted by weighted by population x poverty rate */

global d_educ wb_d_edu_pc_log
global d_heal wb_d_health_pc_log
global d_wate wb_d_water_pc_log
global d_tran wb_d_trans_pc_log
global d_ener wb_d_energy_pc_log
global d_agri wb_d_agri_pc_log

la var $d_educ "Aid pc"
la var $d_heal "Aid pc"
la var $d_wate "Aid pc"
la var $d_tran "Aid pc"
la var $d_ener "Aid pc"
la var $d_agri "Aid pc"
	
global z competitive /* z: the main conditioning variable; 1-abs(vctry_mrgn) */

la var $d "Aid pc"
la var $z "Competitiveness"
la var $z2 "Competitiveness (Quadratic)"

* Section 4. Define sets of variables

/* Constituency-level covariate */
global x_const pop_log pvrty_rate 

/* MP-level covariate */
global x_mp algnmnt1 female incumbency coethnic_mp1 /* algnmnt1, coethnic_mp1 (post-2008): with incumbent Kibaki and Odinga */
global x_mp2 algnmnt2 female incumbency coethnic_mp2 /* algnmnt2, coethnic_mp2 (post-2008): with incumbent Kibaki */
global x_mp3 algnmnt3 female incumbency coethnic_mp3 /* algnmnt3, coethnic_mp3 (post-2008): with incumbent Odinga */

global x0 cdf_allctn_log $x_const $x_mp /* w/o CDF disbursement */
global x02 cdf_allctn_log $x_const $x_mp2 /* w/o CDF disbursement */
global x03 cdf_allctn_log $x_const $x_mp3 /* w/o CDF disbursement */

/* x: the full set of covariates */
global x cdf_allctn_log cdf_sum_d_log $x_const $x_mp 
global x2 cdf_allctn_log cdf_sum_d_log $x_const $x_mp2
global x3 cdf_allctn_log cdf_sum_d_log $x_const $x_mp3

/* x_n: the full set of covariates using Number of CDF projects */
global x_n cdf_allctn_log cdf_n_proj_log $x_const $x_mp
global x_n2 cdf_allctn_log cdf_n_proj_log $x_const $x_mp2
global x_n3 cdf_allctn_log cdf_n_proj_log $x_const $x_mp3

global option ab(const_code year) cluster(const_code)

asdoc sum $p cdf_sum_d_log $ds $d $z cdf_allctn_log $x_const $x_mp, save(summary.doc) replace dec(2)

xtset const_code year

* Notes
* Y: Outcome variable 
* D: Treatment variable
* Z: Conditioning variable (i.e., Y = D * Z + D + Z + X)
* X: Covariates

/*********************/
/* Part I. Main text */
/*********************/

* Table 1. Main results: OLS estimation with two-way FEs
	est clear

	* Quantity
	eststo est1: reghdfe $p $d cdf_allctn_log $x_const if minister!=1, $option
	qui sum `e(depvar)' if e(sample)
	estadd scalar Mean= r(mean)
	eststo est2: reghdfe $p $d $x0 if minister!=1, $option
	qui sum `e(depvar)' if e(sample)
	estadd scalar Mean= r(mean)
	eststo est3: reghdfe $p c.$d##c.$z cdf_allctn_log $x_const if minister!=1, $option
	qui sum `e(depvar)' if e(sample)
	estadd scalar Mean= r(mean)
	eststo est4: reghdfe $p c.$d##c.$z $x0 if minister!=1, $option
	qui sum `e(depvar)' if e(sample)
	estadd scalar Mean= r(mean)

	* Time
	eststo est5: reghdfe $yd c.$d $x_const cdf_allctn_log cdf_sum_d_log if minister!=1, $option
	qui sum `e(depvar)' if e(sample)
	estadd scalar Mean= r(mean)
	eststo est6: reghdfe $yd c.$d $x if minister!=1, $option
	qui sum `e(depvar)' if e(sample)
	estadd scalar Mean= r(mean)
	eststo est7: reghdfe $yd c.$d##c.$z $x_const cdf_allctn_log cdf_sum_d_log if minister!=1, $option
	qui sum `e(depvar)' if e(sample)
	estadd scalar Mean= r(mean)
	eststo est8: reghdfe $yd c.$d##c.$z $x if minister!=1, $option
	qui sum `e(depvar)' if e(sample)
	estadd scalar Mean= r(mean)

	estadd local const_fe "\checkmark" : est*
	estadd local year_fe "\checkmark" : est*
	estadd local x_const "\checkmark" : est*
	estadd local x_mp "\checkmark" : est2 est4 est6 est8

	estout est* ///
		using table_1_ols.xls, replace ///
		keep($d c.$d#c.$z $z) ///
		order($d c.$d#c.$z $z) ///
		starlevels(* 0.10 ** 0.05 *** 0.01) ///
		label cells(b(star fmt(%9.2f)) se(par(`"="("'`")""') fmt(%9.2fc))) ///
		stats(const_fe year_fe x_const x_mp Mean r2 N, ///
		labels("Constituency FE" "Year FE" "Constituency control" "MP control" "Outcome mean" "\$R^2\$" "N") ///
		fmt(%9.0g %9.0g %9.0g %9.0g %9.2f %10.2f %9.0g))

* Conditional Marginal Effects of Aid on the Duration of CDF Projects (OLS Estimation)
	interflex $yd $d $z $x if minister==0, ///
		fe(const_code year) cluster(const_code) vce(cluster) type(linear) xd(density) yr(-0.6 0.6) saving("figure_2_ols") ///
		title("") ///
		ylabel("Median Duration") ///
		dlabel("Aid") ///
		xlabel("Competitiveness")
		
	mat list r(margeff)
	
	// Extract and store the value from the matrix
	scalar competitive_threshold = r(margeff)[21,1] /* The conditional maginal effect is not distinguishable from zero */

	// Use the stored value in the sum command
	sum competitive if competitive <= competitive_threshold

	// Calculate and display the percentage
	display (r(N) / _N) * 100
		
* Table 2. Main results: OLS with High-dimensional FEs and Matching

	egen year_province_FE = group(year prvnc_id)
	egen year_party_FE = group(year party_name_short)
	egen year_ethnicity_FE = group(year ethnicity)

	est clear
	
	* Panel A: Median duration
	eststo est1a: reghdfe $yd c.$d##c.$z $x if minister!=1, ab(const_code year) cluster(const_code)	
	qui sum `e(depvar)' if e(sample)
	qui estadd scalar Mean= r(mean)
	qui estadd local const_fe "\checkmark", replace
	qui estadd local year_fe "\checkmark", replace
	qui estadd local year_province_FE "-", replace
	qui estadd local year_party_FE "-" , replace
	qui estadd local year_ethnicity_FE "-", replace
	qui estadd local sample "Full", replace

	eststo est2a: reghdfe $yd c.$d##c.$z $x if minister!=1, ab(const_code year_province_FE) cluster(const_code)	
	qui sum `e(depvar)' if e(sample)
	qui estadd scalar Mean= r(mean)
	qui estadd local const_fe "\checkmark", replace
	qui estadd local year_fe "\checkmark", replace
	qui estadd local year_province_FE "\checkmark", replace
	qui estadd local year_party_FE "-", replace
	qui estadd local year_ethnicity_FE "-", replace
	qui estadd local sample "Full", replace

	eststo est3a: reghdfe $yd c.$d##c.$z $x if minister!=1, ab(const_code year_party_FE) cluster(const_code)
	qui sum `e(depvar)' if e(sample)
	qui estadd scalar Mean= r(mean)
	qui estadd local const_fe "\checkmark", replace
	qui estadd local year_fe "\checkmark", replace
	qui estadd local year_province_FE "-", replace
	qui estadd local year_party_FE "\checkmark" , replace
	qui estadd local year_ethnicity_FE "-", replace
	qui estadd local sample "Full", replace

	eststo est4a: reghdfe $yd c.$d##c.$z $x if minister!=1, ab(const_code year_ethnicity_FE) cluster(const_code)
	qui sum `e(depvar)' if e(sample)
	qui estadd scalar Mean= r(mean)
	qui estadd local const_fe "\checkmark", replace
	qui estadd local year_fe "\checkmark", replace
	qui estadd local year_province_FE "-", replace
	qui estadd local year_party_FE "-", replace
	qui estadd local year_ethnicity_FE "\checkmark", replace
	qui estadd local sample "Full", replace

	egen med_wb_dsbrsmnt_pc_log = median(wb_dsbrsmnt_pc_log)
	gen treat=(wb_dsbrsmnt_pc_log>med_wb_dsbrsmnt_pc_log)

	cem pop_log pvrty_rate, treatment(treat) autocuts(sturges)
	eststo est5a: reghdfe $yd c.$d##c.$z $x if minister!=1 & cem_matched==1, ab(const_code year_province_FE) cluster(const_code)
	qui sum `e(depvar)' if e(sample)
	qui estadd scalar Mean= r(mean)
	qui estadd local const_fe "\checkmark", replace
	qui estadd local year_fe "\checkmark", replace
	qui estadd local year_province_FE "\checkmark", replace
	qui estadd local year_party_FE "-", replace
	qui estadd local year_ethnicity_FE "-", replace
	qui estadd local sample "Matched", replace

	cem pop_log pvrty_rate cdf_sum_d_log cdf_allctn_log, treatment(treat) autocuts(sturges)
	eststo est6a: reghdfe $yd c.$d##c.$z $x if minister!=1 & cem_matched==1, ab(const_code year_province_FE) cluster(const_code)
	qui sum `e(depvar)' if e(sample)
	qui estadd scalar Mean= r(mean)
	qui estadd local const_fe "\checkmark", replace
	qui estadd local year_fe "\checkmark", replace
	qui estadd local year_province_FE "\checkmark", replace
	qui estadd local year_party_FE "-", replace
	qui estadd local year_ethnicity_FE "-", replace
	qui estadd local sample "Matched", replace
	
	* Panel B: Mean duration
	eststo est1b: reghdfe $yd2 c.$d##c.$z $x if minister!=1, ab(const_code year) cluster(const_code)	
	qui sum `e(depvar)' if e(sample)
	qui estadd scalar Mean= r(mean)
	qui estadd local const_fe "\checkmark", replace
	qui estadd local year_fe "\checkmark", replace
	qui estadd local year_province_FE "-", replace
	qui estadd local year_party_FE "-" , replace
	qui estadd local year_ethnicity_FE "-", replace
	qui estadd local sample "Full", replace

	eststo est2b: reghdfe $yd2 c.$d##c.$z $x if minister!=1, ab(const_code year_province_FE) cluster(const_code)	
	qui sum `e(depvar)' if e(sample)
	qui estadd scalar Mean= r(mean)
	qui estadd local const_fe "\checkmark", replace
	qui estadd local year_fe "\checkmark", replace
	qui estadd local year_province_FE "\checkmark", replace
	qui estadd local year_party_FE "-", replace
	qui estadd local year_ethnicity_FE "-", replace
	qui estadd local sample "Full", replace

	eststo est3b: reghdfe $yd2 c.$d##c.$z $x if minister!=1, ab(const_code year_party_FE) cluster(const_code)
	qui sum `e(depvar)' if e(sample)
	qui estadd scalar Mean= r(mean)
	qui estadd local const_fe "\checkmark", replace
	qui estadd local year_fe "\checkmark", replace
	qui estadd local year_province_FE "-", replace
	qui estadd local year_party_FE "\checkmark" , replace
	qui estadd local year_ethnicity_FE "-", replace
	qui estadd local sample "Full", replace

	eststo est4b: reghdfe $yd2 c.$d##c.$z $x if minister!=1, ab(const_code year_ethnicity_FE) cluster(const_code)
	qui sum `e(depvar)' if e(sample)
	qui estadd scalar Mean= r(mean)
	qui estadd local const_fe "\checkmark", replace
	qui estadd local year_fe "\checkmark", replace
	qui estadd local year_province_FE "-", replace
	qui estadd local year_party_FE "-", replace
	qui estadd local year_ethnicity_FE "\checkmark", replace
	qui estadd local sample "Full", replace

	cem pop_log pvrty_rate, treatment(treat) autocuts(sturges)
	eststo est5b: reghdfe $yd2 c.$d##c.$z $x if minister!=1 & cem_matched==1, ab(const_code year_province_FE) cluster(const_code)
	qui sum `e(depvar)' if e(sample)
	qui estadd scalar Mean= r(mean)
	qui estadd local const_fe "\checkmark", replace
	qui estadd local year_fe "\checkmark", replace
	qui estadd local year_province_FE "\checkmark", replace
	qui estadd local year_party_FE "-", replace
	qui estadd local year_ethnicity_FE "-", replace
	qui estadd local sample "Matched", replace

	cem pop_log pvrty_rate cdf_sum_d_log cdf_allctn_log, treatment(treat) autocuts(sturges)
	eststo est6b: reghdfe $yd2 c.$d##c.$z $x if minister!=1 & cem_matched==1, ab(const_code year_province_FE) cluster(const_code)
	qui sum `e(depvar)' if e(sample)
	qui estadd scalar Mean= r(mean)
	qui estadd local const_fe "\checkmark", replace
	qui estadd local year_fe "\checkmark", replace
	qui estadd local year_province_FE "\checkmark", replace
	qui estadd local year_party_FE "-", replace
	qui estadd local year_ethnicity_FE "-", replace
	qui estadd local sample "Matched", replace

	estout est* ///
		using table_2_hdfe_matching.xls, replace ///
		keep($d c.$d#c.$z $z) ///
		order($d c.$d#c.$z $z) ///
		starlevels(* 0.10 ** 0.05 *** 0.01) ///
		label cells(b(star fmt(%9.2f)) se(par(`"="("'`")""') fmt(%9.2fc))) ///
		stats(const_fe year_fe year_province_FE year_party_FE year_ethnicity_FE sample Mean r2 N, ///
		labels("Constituency FE" "Year FE" "$\smallskip$ $\times$ Province FE" "$\smallskip$ $\times$ MP Party ID FE" "$\smallskip$ $\times$ MP Ethnicity FE" "Sample" "Outcome mean" "\$R^2\$" "N") ///
		fmt(%9.0g %9.0g %9.0g %9.0g %9.0g %9.0g %9.2f %10.2f %9.0g))	

* Conditional Marginal Effects of Aid on the Duration of CDF Projects (OLS, Binning, and Kernel Estimation)
	
	egen med_pop_den_log = median(pop_den_log)
	gen high_capacity = (pop_den_log> = med_pop_den_log)
	gen low_capacity = (pop_den_log < med_pop_den_log)

	cem pop_log pvrty_rate, treatment(treat) autocuts(sturges)

	reghdfe $yd if minister!=1 & cem_matched==1, ab(const_code year_province_FE) cluster(const_code) residual(cdf_med_drtn_res)
	global yd_res cdf_med_drtn_res

	reghdfe $yd2 if minister!=1 & cem_matched==1, ab(const_code year_province_FE) cluster(const_code) residual(cdf_mean_drtn_res)
	global yd2_res cdf_mean_drtn_res

	* Figure 2-1. Median duration of CDF projects
	* Panel A. Full sample, Binning
	interflex $yd $d $z $x if minister==0 & cem_matched==1, ///
	fe(const_code year_province_FE) cluster(const_code) vce(cluster) type(binning) nbins(3) xd(density) yr(-0.6 0.6) saving("figure_3a_binning") ///
	title("") ///
	ylabel("Median Duration") ///
	dlabel("Aid") ///
	xlabel("Competitiveness")

	mat list r(estBin)

	* Panel B. Full sample, Kernel
	interflex $yd_res $d $z $x if minister==0 & cem_matched==1, ///
	cluster(const_code) vce(bootstrap) type(kernel) xd(density) bw(0.5) yr(-0.6 0.6) saving("figure_3b_kernel") ///
	title("") ///
	ylabel("Median Duration") ///
	dlabel("Aid") ///
	xlabel("Competitiveness")

	mat list r(margeff)

	* Panel C. Low capacity, Binning
	interflex $yd $d $z $x if minister==0 & cem_matched==1 & low_capacity==1, ///
	fe(const_code year_province_FE) cluster(const_code) vce(cluster) type(binning) nbins(3) xd(density) yr(-0.6 0.6) saving("figure_3c_low_cap") ///
	title("") ///
	ylabel("Median Duration") ///
	dlabel("Aid") ///
	xlabel("Competitiveness")

	* Panel D. High capacity, Binning
	interflex $yd $d $z $x if minister==0 & cem_matched==1 & high_capacity==1, ///
	fe(const_code year_province_FE) cluster(const_code) vce(cluster) type(binning) nbins(3) xd(density) yr(-0.6 0.6) saving("figure_3d_high_cap") ///
	title("") ///
	ylabel("Median Duration") ///
	dlabel("Aid") ///
	xlabel("Competitiveness")	
		
* Mechanism

	* Table Mec.

	est clear
	cem pop_log pvrty_rate, treatment(treat) autocuts(sturges)

	* Low capacity constituency
	eststo est1: reghdfe $yd c.$d $x if minister!=1 & low_capacity==1, $option
	qui sum `e(depvar)' if e(sample)
	qui estadd scalar Mean= r(mean)
	eststo est2: reghdfe $yd c.$d##c.$z $x if minister!=1 & low_capacity==1, $option
	qui sum `e(depvar)' if e(sample)
	qui estadd scalar Mean= r(mean)
	eststo est3: reghdfe $yd c.$d##c.$z $x if minister!=1 & low_capacity==1, ab(const_code year_province_FE) cluster(const_code)
	qui sum `e(depvar)' if e(sample)
	qui estadd scalar Mean= r(mean)
	eststo est4: reghdfe $yd c.$d##c.$z $x if minister!=1 & low_capacity==1 & cem_matched==1, ab(const_code year_province_FE) cluster(const_code)
	qui sum `e(depvar)' if e(sample)
	qui estadd scalar Mean= r(mean)

	* High capacity constituency
	eststo est5: reghdfe $yd c.$d $x if minister!=1 & high_capacity==1, $option
	qui sum `e(depvar)' if e(sample)
	qui estadd scalar Mean= r(mean)
	eststo est6: reghdfe $yd c.$d##c.$z $x if minister!=1 & high_capacity==1, $option
	qui sum `e(depvar)' if e(sample)
	qui estadd scalar Mean= r(mean)
	eststo est7: reghdfe $yd c.$d##c.$z $x if minister!=1 & high_capacity==1, ab(const_code year_province_FE) cluster(const_code)
	qui sum `e(depvar)' if e(sample)
	qui estadd scalar Mean= r(mean)
	eststo est8: reghdfe $yd c.$d##c.$z $x if minister!=1 & high_capacity==1 & cem_matched==1, ab(const_code year_province_FE) cluster(const_code)
	qui sum `e(depvar)' if e(sample)
	qui estadd scalar Mean= r(mean)

	estadd local const_fe "\checkmark" : est*
	estadd local year_fe "\checkmark" : est*
	estadd local year_province_fe "-" : est1 est2 est5 est6
	estadd local year_province_fe "\checkmark" : est3 est4 est7 est8
	estadd local sample "Full" : est1 est2 est3 est5 est6 est7
	estadd local sample "Matched" : est4 est8

	estout est* ///
		using table_3_mec.xls, replace ///
		keep($d c.$d#c.$z $z) ///
		order($d c.$d#c.$z $z) ///
		starlevels(* 0.10 ** 0.05 *** 0.01) ///
		label cells(b(star fmt(%9.2fc)) se(par(`"="("'`")""') fmt(%9.2fc))) ///
		stats(const_fe year_fe year_province_fe sample Mean r2 N, ///
		labels("Constituency FE" "Year FE" "$\smallskip$ $\times$ Province FE" "Sample" "Outcome mean" "\$R^2\$" "N") ///
		fmt(%9.0g %9.0g %9.0g %9.0g %9.2f %10.2f %9.0g))	

/*******************************/
/* Part II. SI Online Appendix */
/*******************************/
		
	* Section 1. Quantity dimension
	
	* Table E1.
	est clear

	eststo est1: reghdfe $p c.$d##c.$z cdf_allctn_log if minister!=1, $option
	eststo est2: reghdfe $p c.$d##c.$z cdf_allctn_log $x_const if minister!=1, $option
	eststo est3: reghdfe $p c.$d##c.$z $x0 if minister!=1, $option
	eststo est4: reghdfe $p c.$ds##c.$z $x0 if minister!=1, $option

	eststo est5: reghdfe cdf_sum_d_log c.$d##c.$z $x0 if minister!=1, $option
	eststo est6: reghdfe cdf_sum_d_log c.$ds##c.$z $x0 if minister!=1, $option

	estadd local const_fe "\checkmark" : est*
	estadd local year_fe "\checkmark" : est*

	estadd local x_const "\checkmark" : est2 est3 est4 est5 est6
	estadd local x_mp "\checkmark" : est3 est4 est5 est6

	estout est* ///
		using table_E1_quant.xls, replace ///
		keep($d c.$d#c.$z $z $ds c.$ds#c.$z) ///
		order($d c.$d#c.$z $z $ds c.$ds#c.$z) ///
		starlevels(* 0.10 ** 0.05 *** 0.01) ///
		label cells(b(star fmt(%9.2f)) se(par(`"="("'`")""') fmt(%9.2f))) ///
		stats(const_fe year_fe x_const x_mp r2 N, ///
		labels("Constituency FE" "Year FE" "Constituency control" "MP control" "\$R^2\$" "N") ///
		fmt(%9.0g %9.0g %9.0g %9.0g %10.2f %9.0g))
	
	* Table E2. Alternative treatment
	est clear
	* Panel A.
	eststo est1a: reghdfe $p c.$d##c.$z $x0 if minister!=1, $option
	eststo est2a: reghdfe $p c.$ds##c.$z $x0 if minister!=1, $option
	eststo est3a: reghdfe $p c.$d2##c.$z $x0 if minister!=1, $option
	eststo est4a: reghdfe $p c.$ds2##c.$z $x0 if minister!=1, $option
	eststo est5a: reghdfe $p c.$d3##c.$z $x0 if minister!=1, $option
	eststo est6a: reghdfe $p c.$ds3##c.$z $x0 if minister!=1, $option
	* Panel B.
	eststo est1b: reghdfe cdf_sum_d_log c.$d##c.$z $x0 if minister!=1, $option
	eststo est2b: reghdfe cdf_sum_d_log c.$ds##c.$z $x0 if minister!=1, $option
	eststo est3b: reghdfe cdf_sum_d_log c.$d2##c.$z $x0 if minister!=1, $option
	eststo est4b: reghdfe cdf_sum_d_log c.$ds2##c.$z $x0 if minister!=1, $option
	eststo est5b: reghdfe cdf_sum_d_log c.$d3##c.$z $x0 if minister!=1, $option
	eststo est6b: reghdfe cdf_sum_d_log c.$ds3##c.$z $x0 if minister!=1, $option
	
	estadd local const_fe "\checkmark" : est*
	estadd local year_fe "\checkmark" : est*
	
	estout est* ///
		using table_E2_quant_alt_treat.xls, replace ///
		keep($d $ds $d2 $ds2 $d3 $ds3 c.$d#c.$z c.$ds#c.$z c.$d2#c.$z c.$ds2#c.$z c.$d3#c.$z c.$ds3#c.$z $z) ///
		order($d $ds $d2 $ds2 $d3 $ds3 c.$d#c.$z c.$ds#c.$z c.$d2#c.$z c.$ds2#c.$z c.$d3#c.$z c.$ds3#c.$z $z) ///
		starlevels(* 0.10 ** 0.05 *** 0.01) ///
		label cells(b(star fmt(%9.2f)) se(par(`"="("'`")""') fmt(%9.2f))) ///
		stats(const_fe year_fe r2 N, ///
		labels("Constituency FE" "Year FE" "\$R^2\$" "N") ///
		fmt(%9.0g %9.0g %10.2f %9.0g))
	
	* Table E3. Alternative coding of MP Characteristics
	est clear
	* Panel A.
	eststo est1a: reghdfe $p c.$d##c.$z $x0 if minister!=1, $option
	eststo est2a: reghdfe $p c.$d##c.$z $x02 if minister!=1, $option
	eststo est3a: reghdfe $p c.$d##c.$z $x03 if minister!=1, $option
	eststo est4a: reghdfe $p c.$d##c.$z $x0, $option
	* Panel B.
	eststo est1b: reghdfe cdf_sum_d_log c.$d##c.$z $x0 if minister!=1, $option
	eststo est2b: reghdfe cdf_sum_d_log c.$d##c.$z $x02 if minister!=1, $option
	eststo est3b: reghdfe cdf_sum_d_log c.$d##c.$z $x03 if minister!=1, $option
	eststo est4b: reghdfe cdf_sum_d_log c.$d##c.$z $x0, $option

	estadd local const_fe "\checkmark" : est*
	estadd local year_fe "\checkmark" : est*

	estout est* ///
		using table_E3_quant_alt_MP_coding.xls, replace ///
		keep($d c.$d#c.$z $z) ///
		order($d c.$d#c.$z $z) ///
		starlevels(* 0.10 ** 0.05 *** 0.01) ///
		label cells(b(star fmt(%9.2f)) se(par(`"="("'`")""') fmt(%9.2f))) ///
		stats(const_fe year_fe r2 N, ///
		labels("Constituency FE" "Year FE" "\$R^2\$" "N") ///
		fmt(%9.0g %9.0g %10.2f %9.0g))

	
	* Table E4. Alternative outcome (N of CDF Projects) and treatment
	est clear
	eststo est1a: reghdfe cdf_n_proj_log c.$d##c.$z $x0 if minister!=1, $option
	eststo est2a: reghdfe cdf_n_proj_log c.$ds##c.$z $x0 if minister!=1, $option
	eststo est3a: reghdfe cdf_n_proj_log c.$d2##c.$z $x0 if minister!=1, $option
	eststo est4a: reghdfe cdf_n_proj_log c.$ds2##c.$z $x0 if minister!=1, $option
	eststo est5a: reghdfe cdf_n_proj_log c.$d3##c.$z $x0 if minister!=1, $option
	eststo est6a: reghdfe cdf_n_proj_log c.$ds3##c.$z $x0 if minister!=1, $option
	
	estadd local const_fe "\checkmark" : est*
	estadd local year_fe "\checkmark" : est*
	
	estout est* ///
		using table_E4_quant_alt_outcome.xls, replace ///
		keep($d $ds $d2 $ds2 $d3 $ds3 c.$d#c.$z c.$ds#c.$z c.$d2#c.$z c.$ds2#c.$z c.$d3#c.$z c.$ds3#c.$z $z) ///
		order($d $ds $d2 $ds2 $d3 $ds3 c.$d#c.$z c.$ds#c.$z c.$d2#c.$z c.$ds2#c.$z c.$d3#c.$z c.$ds3#c.$z $z) ///
		starlevels(* 0.10 ** 0.05 *** 0.01) ///
		label cells(b(star fmt(%9.2f)) se(par(`"="("'`")""') fmt(%9.2f))) ///
		stats(const_fe year_fe r2 N, ///
		labels("Constituency FE" "Year FE" "\$R^2\$" "N") ///
		fmt(%9.0g %9.0g %10.2f %9.0g))
		
	* Table E5. Alternative sample (CDF Projects by Size)
	est clear
	* Panel A.
	eststo est1: reghdfe cdf_sum_d_q1_log c.$d##c.$z $x if minister!=1, $option
	eststo est2: reghdfe cdf_sum_d_q2_log c.$d##c.$z $x if minister!=1, $option
	eststo est3: reghdfe cdf_sum_d_q3_log c.$d##c.$z $x if minister!=1, $option
	eststo est4: reghdfe cdf_sum_d_q4_log c.$d##c.$z $x if minister!=1, $option
	* Panel B.
	eststo est5: reghdfe cdf_sum_d_q1_log c.$ds##c.$z $x if minister!=1, $option
	eststo est6: reghdfe cdf_sum_d_q2_log c.$ds##c.$z $x if minister!=1, $option
	eststo est7: reghdfe cdf_sum_d_q3_log c.$ds##c.$z $x if minister!=1, $option
	eststo est8: reghdfe cdf_sum_d_q4_log c.$ds##c.$z $x if minister!=1, $option
	
	estadd local const_fe "\checkmark" : est*
	estadd local year_fe "\checkmark" : est*

	estout est* ///
		using table_E5_quant_alt_sample.xls, replace ///
		keep($d $ds c.$d#c.$z c.$ds#c.$z $z) ///
		order($d $ds c.$d#c.$z c.$ds#c.$z $z) ///
		starlevels(* 0.025 ** 0.0125 *** 0.0025) ///
		label cells(b(star fmt(%9.2f)) se(par(`"="("'`")""') fmt(%9.2f))) ///
		stats(const_fe year_fe r2 N, ///
		labels("Constituency FE" "Year FE" "\$R^2\$" "N") ///
		fmt(%9.0g %9.0g %10.2f %9.0g))
	
	* Section 2. Time dimension
	
	* Table E6. Mean and median duration of disbursements of CDF projects
	est clear

	eststo est1: reghdfe $yd c.$d##c.$z cdf_allctn_log cdf_sum_d_log if minister!=1, $option
	eststo est2: reghdfe $yd c.$d##c.$z $x_const cdf_allctn_log cdf_sum_d_log if minister!=1, $option
	eststo est3: reghdfe $yd c.$d##c.$z $x if minister!=1, $option
	eststo est4: reghdfe $yd c.$ds##c.$z $x if minister!=1, $option

	eststo est5: reghdfe $yd2 c.$d##c.$z $x if minister!=1, $option
	eststo est6: reghdfe $yd2 c.$ds##c.$z $x if minister!=1, $option

	estadd local const_fe "\checkmark" : est*
	estadd local year_fe "\checkmark" : est*

	estadd local x_const "\checkmark" : est2 est3 est4 est5 est6
	estadd local x_mp "\checkmark" : est3 est4 est5 est6

	estout est* ///
		using table_E6_time.xls, replace ///
		keep($d c.$d#c.$z $z $ds c.$ds#c.$z) ///
		order($d c.$d#c.$z $z $ds c.$ds#c.$z) ///
		starlevels(* 0.10 ** 0.05 *** 0.01) ///
		label cells(b(star fmt(%9.2f)) se(par(`"="("'`")""') fmt(%9.2f))) ///
		stats(const_fe year_fe x_const x_mp r2 N, ///
		labels("Constituency FE" "Year FE" "Constituency control" "MP control" "\$R^2\$" "N") ///
		fmt(%9.0g %9.0g %9.0g %9.0g %10.2f %9.0g))
		
	* Table E7. Alternative treatment measures
	est clear
	* Panel A.
	eststo est1a: reghdfe $yd c.$d##c.$z $x if minister==0, $option
	eststo est2a: reghdfe $yd c.$ds##c.$z $x if minister==0, $option
	eststo est3a: reghdfe $yd c.$d2##c.$z $x if minister==0, $option
	eststo est4a: reghdfe $yd c.$ds2##c.$z $x if minister==0, $option
	eststo est5a: reghdfe $yd c.$d3##c.$z $x if minister==0, $option
	eststo est6a: reghdfe $yd c.$ds3##c.$z $x if minister==0, $option
	* Panel B.
	eststo est1b: reghdfe $yd2 c.$d##c.$z $x if minister==0, $option
	eststo est2b: reghdfe $yd2 c.$ds##c.$z $x if minister==0, $option
	eststo est3b: reghdfe $yd2 c.$d2##c.$z $x if minister==0, $option
	eststo est4b: reghdfe $yd2 c.$ds2##c.$z $x if minister==0, $option
	eststo est5b: reghdfe $yd2 c.$d3##c.$z $x if minister==0, $option
	eststo est6b: reghdfe $yd2 c.$ds3##c.$z $x if minister==0, $option

	estadd local const_fe "\checkmark" : est*
	estadd local year_fe "\checkmark" : est*

	estout est* ///
		using table_E7_time_alt_treat.xls, replace ///
		keep($d $ds $d2 $ds2 $d3 $ds3 c.$d#c.$z c.$ds#c.$z c.$d2#c.$z c.$ds2#c.$z c.$d3#c.$z c.$ds3#c.$z $z) ///
		order($d $ds $d2 $ds2 $d3 $ds3 c.$d#c.$z c.$ds#c.$z c.$d2#c.$z c.$ds2#c.$z c.$d3#c.$z c.$ds3#c.$z $z) ///
		starlevels(* 0.10 ** 0.05 *** 0.01) ///
		label cells(b(star fmt(%9.2f)) se(par(`"="("'`")""') fmt(%9.2f))) ///
		stats(const_fe year_fe x_const x_mp r2 N, ///
		labels("Constituency FE" "Year FE" "Constituency control" "MP control" "\$R^2\$" "N") ///
		fmt(%9.0g %9.0g %9.0g %9.0g %10.2f %9.0g))
		
	* Table E8. Alternative outcome measures
	est clear
	* Panel A.
	eststo est1a: reghdfe cdf_30p_drtn c.$d##c.$z $x if minister==0, $option 
	eststo est2a: reghdfe cdf_40p_drtn c.$d##c.$z $x if minister==0, $option 
	eststo est3a: reghdfe cdf_med_drtn c.$d##c.$z $x if minister==0, $option
	eststo est4a: reghdfe cdf_60p_drtn c.$d##c.$z $x if minister==0, $option
	eststo est5a: reghdfe cdf_70p_drtn c.$d##c.$z $x if minister==0, $option
	eststo est6a: reghdfe $yd2 c.$d##c.$z $x if minister==0, $option
	* Panel B.
	eststo est1b: reghdfe cdf_30p_drtn c.$ds##c.$z $x if minister==0, $option 
	eststo est2b: reghdfe cdf_40p_drtn c.$ds##c.$z $x if minister==0, $option 
	eststo est3b: reghdfe cdf_med_drtn c.$ds##c.$z $x if minister==0, $option
	eststo est4b: reghdfe cdf_60p_drtn c.$ds##c.$z $x if minister==0, $option
	eststo est5b: reghdfe cdf_70p_drtn c.$ds##c.$z $x if minister==0, $option
	eststo est6b: reghdfe $yd2 c.$ds##c.$z $x if minister==0, $option
	
	estadd local const_fe "\checkmark" : est*
	estadd local year_fe "\checkmark" : est*

	estout est* ///
		using table_E8_time_alt_outcome.xls, replace ///
		keep($d c.$d#c.$z $z $ds c.$ds#c.$z) ///
		order($d c.$d#c.$z $z $ds c.$ds#c.$z) ///
		starlevels(* 0.10 ** 0.05 *** 0.01) ///
		label cells(b(star fmt(%9.2f)) se(par(`"="("'`")""') fmt(%9.2f))) ///
		stats(const_fe year_fe x_const x_mp r2 N, ///
		labels("Constituency FE" "Year FE" "Constituency control" "MP control" "\$R^2\$" "N") ///
		fmt(%9.0g %9.0g %9.0g %9.0g %10.2f %9.0g))
		
	* Table E9. Alternative coding of MP covariates
	est clear
	* Panel A.
	eststo est1a: reghdfe $yd c.$d##c.$z $x if minister!=1, $option
	eststo est2a: reghdfe $yd c.$d##c.$z $x2 if minister!=1, $option
	eststo est3a: reghdfe $yd c.$d##c.$z $x3 if minister!=1, $option
	eststo est4a: reghdfe $yd c.$d##c.$z $x, $option
	* Panel B.
	eststo est1b: reghdfe $yd2 c.$d##c.$z $x if minister!=1, $option
	eststo est2b: reghdfe $yd2 c.$d##c.$z $x2 if minister!=1, $option
	eststo est3b: reghdfe $yd2 c.$d##c.$z $x3 if minister!=1, $option
	eststo est4b: reghdfe $yd2 c.$d##c.$z $x, $option
	
	estadd local const_fe "\checkmark" : est*
	estadd local year_fe "\checkmark" : est*

	estout est* ///
		using table_E9_time_alt_MP_coding.xls, replace ///
		keep($d c.$d#c.$z $z) ///
		order($d c.$d#c.$z $z) ///
		starlevels(* 0.10 ** 0.05 *** 0.01) ///
		label cells(b(star fmt(%9.2f)) se(par(`"="("'`")""') fmt(%9.2f))) ///
		stats(const_fe year_fe r2 N, ///
		labels("Constituency FE" "Year FE" "\$R^2\$" "N") ///
		fmt(%9.0g %9.0g %10.2f %9.0g))
		
	* Table E10. Alternative sample (year)
	est clear
	* Panel A.
	eststo est1a: reghdfe $yd c.$d##c.$z  $x if minister==0 & year != 2003, $option
	eststo est2a: reghdfe $yd c.$d##c.$z  $x if minister==0 & year != 2007, $option
	eststo est3a: reghdfe $yd c.$d##c.$z  $x if minister==0 & year != 2006, $option
	eststo est4a: reghdfe $yd c.$d##c.$z  $x if minister==0 & year != 2010, $option
	* Panel B.
	eststo est1b: reghdfe $yd2 c.$d##c.$z  $x if minister==0 & year != 2003, $option
	eststo est2b: reghdfe $yd2 c.$d##c.$z  $x if minister==0 & year != 2006, $option
	eststo est3b: reghdfe $yd2 c.$d##c.$z  $x if minister==0 & year != 2007, $option
	eststo est4b: reghdfe $yd2 c.$d##c.$z  $x if minister==0 & year != 2010, $option
	
	estadd local const_fe "\checkmark" : est*
	estadd local year_fe "\checkmark" : est*

	estout est* ///
		using table_E10_time_alt_sample.xls, replace ///
		keep($d c.$d#c.$z $z) ///
		order($d c.$d#c.$z $z) ///
		starlevels(* 0.10 ** 0.05 *** 0.01) ///
		label cells(b(star fmt(%9.2f)) se(par(`"="("'`")""') fmt(%9.2f))) ///
		stats(const_fe year_fe x_const x_mp r2 N, ///
		labels("Constituency FE" "Year FE" "Constituency control" "MP control" "\$R^2\$" "N") ///
		fmt(%9.0g %9.0g %9.0g %9.0g %10.2f %9.0g))


	* Section 3. Alternative explanations

	* Table F1. Alternative Explanation 1: Alternative treatment (aid by sector)
	est clear
	* Panel A.
	eststo est1a: reghdfe $p c.$d_educ##c.$z  $x if minister!=1, $option
	eststo est2a: reghdfe $p c.$d_heal##c.$z  $x if minister!=1, $option
	eststo est3a: reghdfe $p c.$d_wate##c.$z  $x if minister!=1, $option
	eststo est4a: reghdfe $p c.$d_tran##c.$z  $x if minister!=1, $option
	eststo est5a: reghdfe $p c.$d_ener##c.$z  $x if minister!=1, $option
	eststo est6a: reghdfe $p c.$d_agri##c.$z  $x if minister!=1, $option
	* Panel B.
	eststo est1b: reghdfe cdf_sum_d_log c.$d_educ##c.$z  $x0 if minister!=1, $option
	eststo est2b: reghdfe cdf_sum_d_log c.$d_heal##c.$z  $x0 if minister!=1, $option
	eststo est3b: reghdfe cdf_sum_d_log c.$d_wate##c.$z  $x0 if minister!=1, $option
	eststo est4b: reghdfe cdf_sum_d_log c.$d_tran##c.$z  $x0 if minister!=1, $option
	eststo est5b: reghdfe cdf_sum_d_log c.$d_ener##c.$z  $x0 if minister!=1, $option
	eststo est6b: reghdfe cdf_sum_d_log c.$d_agri##c.$z  $x0 if minister!=1, $option
			
	estadd local const_fe "\checkmark" : est*
	estadd local year_fe "\checkmark" : est*

	estout est* ///
		using table_F1_alt_exp1_alt_trt.xls, replace ///
		keep($d_educ $d_heal $d_wate $d_tran $d_ener $d_agri ///
		c.$d_educ#c.$z c.$d_heal#c.$z c.$d_wate#c.$z c.$d_tran#c.$z c.$d_ener#c.$z c.$d_agri#c.$z $z) ///
		order($d_educ $d_heal $d_wate $d_tran $d_ener $d_agri ///
		c.$d_educ#c.$z c.$d_heal#c.$z c.$d_wate#c.$z c.$d_tran#c.$z c.$d_ener#c.$z c.$d_agri#c.$z $z) ///
		starlevels(* 0.0167 ** 0.0083 *** 0.00167) ///
		label cells(b(star fmt(%9.2f)) se(par(`"="("'`")""') fmt(%9.2f))) ///
		stats(const_fe year_fe r2 N, ///
		labels("Constituency FE" "Year FE" "\$R^2\$" "N") ///
		fmt(%9.0g %9.0g %10.2f %9.0g))


	* Table F2. Alternative Explanation 1: Alternative outcome (CDF Investment by Sector)
	est clear
	eststo est1: reghdfe cdf_sum_d_educ_log c.$d##c.$z  $x if minister!=1, $option
	eststo est2: reghdfe cdf_sum_d_heal_log c.$d##c.$z  $x if minister!=1, $option
	eststo est3: reghdfe cdf_sum_d_wate_log c.$d##c.$z  $x if minister!=1, $option
	eststo est4: reghdfe cdf_sum_d_tran_log c.$d##c.$z  $x if minister!=1, $option
	eststo est5: reghdfe cdf_sum_d_cons_log c.$d##c.$z  $x if minister!=1, $option
	eststo est6: reghdfe cdf_sum_d_ener_log c.$d##c.$z  $x if minister!=1, $option
	eststo est7: reghdfe cdf_sum_d_agri_log c.$d##c.$z  $x if minister!=1, $option
	eststo est8: reghdfe cdf_sum_d_admi_log c.$d##c.$z  $x if minister!=1, $option 
	eststo est9: reghdfe cdf_sum_d_poli_log c.$d##c.$z  $x if minister!=1, $option

	estadd local const_fe "\checkmark" : est*
	estadd local year_fe "\checkmark" : est*

	estout est* ///
		using table_F2_alt_exp1_alt_outcome1.xls, replace ///
		keep($d c.$d#c.$z $z) ///
		order($d c.$d#c.$z $z) ///
		starlevels(* 0.01111111111 ** 0.00555555555 *** 0.00111111111) ///
		label cells(b(star fmt(%9.2f)) se(par(`"="("'`")""') fmt(%9.2f))) ///
		stats(const_fe year_fe r2 N, ///
		labels("Constituency FE" "Year FE" "\$R^2\$" "N") ///
		fmt(%9.0g %9.0g %10.2f %9.0g))
	
	* Table F3. Alternative Explanation 1: Alternative outcome (N of CDF Projects by Sector)
	est clear
	eststo est1: reghdfe cdf_n_proj_educ_log c.$d##c.$z  $x_n if minister!=1, $option
	eststo est2: reghdfe cdf_n_proj_heal_log c.$d##c.$z  $x_n if minister!=1, $option
	eststo est3: reghdfe cdf_n_proj_wate_log c.$d##c.$z  $x_n if minister!=1, $option
	eststo est4: reghdfe cdf_n_proj_tran_log c.$d##c.$z  $x_n if minister!=1, $option
	eststo est5: reghdfe cdf_n_proj_cons_log c.$d##c.$z  $x_n if minister!=1, $option
	eststo est6: reghdfe cdf_n_proj_ener_log c.$d##c.$z  $x_n if minister!=1, $option
	eststo est7: reghdfe cdf_n_proj_agri_log c.$d##c.$z  $x_n if minister!=1, $option
	eststo est8: reghdfe cdf_n_proj_admi_log c.$d##c.$z  $x_n if minister!=1, $option 
	eststo est9: reghdfe cdf_n_proj_poli_log c.$d##c.$z  $x_n if minister!=1, $option

	estadd local const_fe "\checkmark" : est*
	estadd local year_fe "\checkmark" : est*

	estout est* ///
		using table_F3_alt_exp1_alt_outcome2.xls, replace ///
		keep($d c.$d#c.$z $z) ///
		order($d c.$d#c.$z $z) ///
		starlevels(* 0.01111111111 ** 0.00555555555 *** 0.00111111111) ///
		label cells(b(star fmt(%9.2f)) se(par(`"="("'`")""') fmt(%9.2f))) ///
		stats(const_fe year_fe r2 N, ///
		labels("Constituency FE" "Year FE" "\$R^2\$" "N") ///
		fmt(%9.0g %9.0g %10.2f %9.0g))
	
	* Table F4. Alternative Explanation 1: Alternative treatment and outcome
	est clear
	eststo est1a: reghdfe cdf_sum_d_educ_log c.$d_educ##c.$z  $x0 if minister!=1, $option
	eststo est2a: reghdfe cdf_sum_d_educ_log c.$d_heal##c.$z  $x0 if minister!=1, $option
	eststo est3a: reghdfe cdf_sum_d_educ_log c.$d_wate##c.$z  $x0 if minister!=1, $option
	eststo est4a: reghdfe cdf_sum_d_educ_log c.$d_tran##c.$z  $x0 if minister!=1, $option
	eststo est5a: reghdfe cdf_sum_d_educ_log c.$d_ener##c.$z  $x0 if minister!=1, $option
	eststo est6a: reghdfe cdf_sum_d_educ_log c.$d_agri##c.$z  $x0 if minister!=1, $option
	
	eststo est1b: reghdfe cdf_n_proj_educ_log c.$d_educ##c.$z  $x_n if minister!=1, $option
	eststo est2b: reghdfe cdf_n_proj_educ_log c.$d_heal##c.$z  $x_n if minister!=1, $option
	eststo est3b: reghdfe cdf_n_proj_educ_log c.$d_wate##c.$z  $x_n if minister!=1, $option
	eststo est4b: reghdfe cdf_n_proj_educ_log c.$d_tran##c.$z  $x_n if minister!=1, $option
	eststo est5b: reghdfe cdf_n_proj_educ_log c.$d_ener##c.$z  $x_n if minister!=1, $option
	eststo est6b: reghdfe cdf_n_proj_educ_log c.$d_agri##c.$z  $x_n if minister!=1, $option

	estadd local const_fe "\checkmark" : est*
	estadd local year_fe "\checkmark" : est*

	estout est* ///
		using table_F4_alt_exp1_alt_trt_outcome.xls, replace ///
		keep($d_educ $d_heal $d_wate $d_tran $d_ener $d_agri ///
		c.$d_educ#c.$z c.$d_heal#c.$z c.$d_wate#c.$z c.$d_tran#c.$z c.$d_ener#c.$z c.$d_agri#c.$z $z) ///
		order($d_educ $d_heal $d_wate $d_tran $d_ener $d_agri ///
		c.$d_educ#c.$z c.$d_heal#c.$z c.$d_wate#c.$z c.$d_tran#c.$z c.$d_ener#c.$z c.$d_agri#c.$z $z) ///
		starlevels(* 0.0167 ** 0.0083 *** 0.00167) ///
		label cells(b(star fmt(%9.2f)) se(par(`"="("'`")""') fmt(%9.2f))) ///
		stats(const_fe year_fe r2 N, ///
		labels("Constituency FE" "Year FE" "\$R^2\$" "N") ///
		fmt(%9.0g %9.0g %10.2f %9.0g))
		
	* Table F5. Alternative Explanation 2: Moderating effect of MP characteristics with alternative interaction variables
	est clear
	eststo est1a: reghdfe $yd c.$d##c.$z c.$d#i.incumbency $x if minister==0, $option
	eststo est2a: reghdfe $yd c.$d##c.$z c.$d#i.algnmnt1 $x if minister==0, $option
	eststo est3a: reghdfe $yd c.$d##c.$z c.$d#i.algnmnt2 $x2 if minister==0, $option
	eststo est4a: reghdfe $yd c.$d##c.$z c.$d#i.algnmnt3 $x3 if minister==0, $option
	eststo est5a: reghdfe $yd c.$d##c.$z c.$d#i.coethnic_mp1 $x if minister==0, $option
	eststo est6a: reghdfe $yd c.$d##c.$z c.$d#i.coethnic_mp2 $x2 if minister==0, $option
	eststo est7a: reghdfe $yd c.$d##c.$z c.$d#i.coethnic_mp3 $x3 if minister==0, $option
	
	eststo est1b: reghdfe $yd2 c.$d##c.$z c.$d#i.incumbency $x if minister==0, $option
	eststo est2b: reghdfe $yd2 c.$d##c.$z c.$d#i.algnmnt1 $x if minister==0, $option
	eststo est3b: reghdfe $yd2 c.$d##c.$z c.$d#i.algnmnt2 $x2 if minister==0, $option
	eststo est4b: reghdfe $yd2 c.$d##c.$z c.$d#i.algnmnt3 $x3 if minister==0, $option
	eststo est5b: reghdfe $yd2 c.$d##c.$z c.$d#i.coethnic_mp1 $x if minister==0, $option
	eststo est6b: reghdfe $yd2 c.$d##c.$z c.$d#i.coethnic_mp2 $x2 if minister==0, $option
	eststo est7b: reghdfe $yd2 c.$d##c.$z c.$d#i.coethnic_mp3 $x3 if minister==0, $option
	
	estadd local sector_fe "\checkmark" : est*
	estadd local const_fe "\checkmark" : est*

	estout est* ///
		using table_F5_alt_exp2.xls, replace ///
		keep($d 1.incumbency#c.$d 1.algnmnt1#c.$d 1.algnmnt2#c.$d 1.algnmnt3#c.$d 1.coethnic_mp1#c.$d 1.coethnic_mp2#c.$d 1.coethnic_mp3#c.$d ///
		incumbency algnmnt1 algnmnt2 algnmnt3 coethnic_mp1 coethnic_mp2 coethnic_mp3 $d) ///
		order($d 1.incumbency#c.$d 1.algnmnt1#c.$d 1.algnmnt2#c.$d 1.algnmnt3#c.$d 1.coethnic_mp1#c.$d 1.coethnic_mp2#c.$d 1.coethnic_mp3#c.$d ///
		incumbency algnmnt1 algnmnt2 algnmnt3 coethnic_mp1 coethnic_mp2 coethnic_mp3 $d) ///
		starlevels(* 0.10 ** 0.05 *** 0.01) ///
		label cells(b(star fmt(%9.2f)) se(par(`"="("'`")""') fmt(%9.2f))) ///
		stats(sector_fe const_fe r2 N, ///
		labels("CDF Sector FE" "Constituency FE" "\$R^2\$" "N") ///
		fmt(%9.0g %9.0g %10.2f %9.0g))		
	
	* Table F6. Alternative Explanation 3: Moderating effect of election year
	gen year2004=(year==2004)
	gen year2005=(year==2005)
	gen year2006=(year==2006)
	gen year2007=(year==2007)
	gen year2008=(year==2008)
	
	est clear
	* Panel A.
	eststo est1a: reghdfe $yd c.$d##c.$z c.$d#i.year2004 year2004 $x if minister==0, $option 
	eststo est2a: reghdfe $yd c.$d##c.$z c.$d#i.year2005 year2005 $x if minister==0, $option 
	eststo est3a: reghdfe $yd c.$d##c.$z c.$d#i.year2006 year2006 $x if minister==0, $option
	eststo est4a: reghdfe $yd c.$d##c.$z c.$d#i.year2007 year2007 $x if minister==0, $option
	eststo est5a: reghdfe $yd c.$d##c.$z c.$d#i.year2008 year2008 $x if minister==0, $option
	* Panel B.
	eststo est1b: reghdfe $yd2 c.$d##c.$z c.$d#i.year2004 year2004 $x if minister==0, $option 
	eststo est2b: reghdfe $yd2 c.$d##c.$z c.$d#i.year2005 year2005 $x if minister==0, $option 
	eststo est3b: reghdfe $yd2 c.$d##c.$z c.$d#i.year2006 year2006 $x if minister==0, $option
	eststo est4b: reghdfe $yd2 c.$d##c.$z c.$d#i.year2007 year2007 $x if minister==0, $option
	eststo est5b: reghdfe $yd2 c.$d##c.$z c.$d#i.year2008 year2008 $x if minister==0, $option
	
	estadd local const_fe "\checkmark" : est*
	estadd local year_fe "\checkmark" : est*

	estout est* ///
		using table_F6_alt_exp3.xls, replace ///
		keep(1.year2004#c.$d 1.year2005#c.$d 1.year2006#c.$d 1.year2007#c.$d 1.year2008#c.$d $d year2004 year2005 year2006 year2007 year2008 ) ///
		order(1.year2004#c.$d 1.year2005#c.$d 1.year2006#c.$d 1.year2007#c.$d 1.year2008#c.$d $d year2004 year2005 year2006 year2007 year2008 ) ///
		starlevels(* 0.10 ** 0.05 *** 0.01) ///
		label cells(b(star fmt(%9.2f)) se(par(`"="("'`")""') fmt(%9.2f))) ///
		stats(const_fe year_fe r2 N, ///
		labels("Constituency FE" "Year FE" "\$R^2\$" "N") ///
		fmt(%9.0g %9.0g %10.2f %9.0g))
	
